package com.tbit.uqbike.center.service;

import com.tbit.uqbike.center.pojo.MachineStatus;
import com.tbit.uqbike.center.pojo.TerBattery;
import com.tbit.uqbike.center.pojo.TerPosition;

import java.util.List;

/**
 * 设备最后状态service
 *
 * @author Leon
 * 2017年2月24日 下午4:09:17
 */
public interface MachineStatusService {

    /**
     * 初始化位置和电量数据
     */
    void initMachineData();

    /**
     * 更新位置信息
     *
     * @param terPosition
     */
    void updatePosition(TerPosition terPosition);

    /**
     * 更新电量信息
     *
     * @param terBattery
     */
    void updateBattery(TerBattery terBattery);

    /**
     * 更新电量信息
     *
     * @param terBattery
     */
    void updateLithiumBattery(TerBattery terBattery);

    /**
     * 批量查询设备状态
     *
     * @param machineIds
     * @return
     */
    List<MachineStatus> getByMachineIds(List<Integer> machineIds);

    /**
     * 批量更新
     *
     * @param machineStatuses
     */
    void updateBatch(List<MachineStatus> machineStatuses);

    /**
     * 加载位置
     *
     * @param machineStatus
     */
    void loadPosition(Integer machineId);

    /**
     * 加载设备状态信息
     *
     * @param machineId
     */
    void loadMachineStatus(Integer machineId);

}  